package br.com.android.aluno.dao;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;

public class DaoFactory {

	protected SQLiteDatabase db = null;
	private static SQLiteHelper dbHelper = null;
	
	// Dados do banco de dados
	protected static int VERSAO = 1;
	protected static String NOME_BANCO = "aluno_android";
	
	private static final String[] SCRIPT_DATABASE_DELETE = {
		"DROP TABLE IF EXISTS " + AlunoDao.TABELA
	};
	
	private static final String[] SCRIPT_DATABASE_CREATE = {		
		"CREATE TABLE " + AlunoDao.TABELA + " (" +
				AlunoDao.COLUNA_ID 			+ " INTEGER PRIMARY KEY AUTOINCREMENT," +
				AlunoDao.COLUNA_NOME 		+ " TEXT NOT NULL," +
				AlunoDao.COLUNA_TELEFONE 	+ " TEXT," +
				AlunoDao.COLUNA_EMAIL 		+ " TEXT," +
				AlunoDao.COLUNA_ENDERECO 	+ " TEXT," +
				AlunoDao.COLUNA_CURSO 		+ " TEXT," +
				AlunoDao.COLUNA_FOTOPATH		+ " TEXT," +
				AlunoDao.COLUNA_SEXO 		+ " INTEGER," +
				AlunoDao.COLUNA_MATRICULADO 	+ " INTEGER"+
		");"
	};
	
	/**
	 * Cria o banco de dados com um script SQL
	 * @param context
	 */
	public DaoFactory(Context context) {
		dbHelper = new SQLiteHelper(context,
				NOME_BANCO, VERSAO, SCRIPT_DATABASE_CREATE, 
				SCRIPT_DATABASE_DELETE);
		
		//abre o banco no modo de escrita.
		db = dbHelper.getWritableDatabase();
	}
	
	public void fechar() {
		if(db != null){
			db.close();
		}
		
		if(dbHelper != null){
			dbHelper.close();
		}
	}
	
}
